<%--
  Created by IntelliJ IDEA.
  User: zhangyuan
  Date: 2020-03-11
  Time: 17:11
  To change this template use File | Settings | File Templates.
--%>
<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>
<%@taglib prefix="mvc" uri="http://www.springframework.org/tags/form" %>
<%@taglib prefix="fmt" uri="http://www.springframework.org/tags" %>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>帖子审核</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <link rel="stylesheet" href="/lib/layui/layui/css/layui.css?20190817.1">
    <script type="text/javascript" src="/js/jquery/jquery-1.9.1.js"></script>
    <script src="/lib/layui/layui/layui.js"></script>
    <script src="/lib/jquery.form.min.js"></script>
    <script src="/lib/layui/layui/js/common.js?v=20190726" type="text/javascript" charset="utf-8"></script>
    <script src="/lib/layui/layui/js/baseCode/base.js?v=2019080918:09" type="text/javascript" charset="utf-8"></script>
    <script type="text/javascript" src="/lib/layui/layui/global.js"></script>
    <script src="/js/base/base.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div style="padding: 8px;">
    <div style="text-align: right">
        <%-- <button type="button" class="layui-btn layui-btn-sm" name="thisforum">返回本讨论区</button>
         <button type="button" class="layui-btn layui-btn-sm" name="forum" >返回讨论区列表</button>--%>
        <button type="button" class="layui-btn layui-btn-sm someYes" >批量批准</button>
        <button type="button" class="layui-btn layui-btn-sm someNo" style="margin-right: 2%;">批量不批准</button>
    </div>
    <table id="check" lay-filter="check"></table>
</div>

<script>
    var boardId = $.GetRequest().boardId;
    var arr=[];
    var ids;
    var tableIns;
    var table;
    layui.use('table', function(){
        table = layui.table;
        //第一个实例
        tableIns=table.render({
            elem: '#check'
            ,url: '/bbs/selReview?boardId='+boardId //数据接口
            ,page: true //开启分页
            ,cols: [[ //表头
                {type: 'checkbox',}
                ,{field: 'subject', title: '标题',}
                ,{field: 'type', title: '帖子类型',  }
                ,{field: 'authorName', title: '作者', }
                ,{field: 'submitTime', title: '最后回复', }
                ,{field: 'isCheck', title: '状态',templet:function (d) {
                        if(d.isCheck==0){
                            return '<span style="color: #0000FF;">待审核</span>'
                        }else if(d.isCheck==1){
                            return '<span style="color: #00AA00;">审核通过</span>'
                        }else if(d.isCheck==2){
                            return '<span style="color: #FF0000;">审核未通过</span>'
                        }else if(d.isCheck==9){
                            return '<span>不需要审核</span>'
                        }else {
                            return ''
                        }
                    } }
                ,{ title: '操作',align:'center', templet:function(d){
                        if(d.isCheck==1){
                            return '<span style="color: #00AA00;">审核通过</span>'
                        }else if(d.isCheck==2){
                            return '<span style="color: #FF0000;">审核未通过</span>'
                        }else if(d.isCheck==9){
                            //不用审核
                            return '<span>不需要审核</span>';
                        }
                        return ' <a class="layui-btn layui-btn-xs" lay-event="yes">批准</a>\n' +
                            '<a class="layui-btn layui-btn-xs" lay-event="no">不批准</a>';
                    }} //这里的toolbar值是模板元素的选择器
            ]]
            ,parseData: function(res){ //res 即为原始返回的数据
                return {
                    "code": 0, //解析接口状态
                    "data": res.object //解析数据列表
                };
            }
        });
        //监听工具条
        table.on('tool(check)', function(obj){ //注：tool 是工具条事件名，test 是 table 原始容器的属性 lay-filter="对应的值"
            var data = obj.data; //获得当前行数据
            var layEvent = obj.event; //获得 lay-event 对应的值（也可以是表头的 event 参数对应的值）
            var tr = obj.tr; //获得当前行 tr 的 DOM 对象（如果有的话）
            if(layEvent === 'yes'){ //查看
                layer.confirm('确定批准吗？', function(index){
                    $.ajax({
                        url:'/bbs/updateCom',
                        type: "post",
                        dataType: "json",
                        data:{
                            commentId:data.commentId,
                            isCheck:1
                        },
                        success:function (res) {
                            layer.close(index);
                            tableIns.reload()
                        }
                    })
                });
            } else if(layEvent === 'no'){ //删除
                layer.confirm('确定不批准吗？', function(index){
                    $.ajax({
                        url:'/bbs/updateCom',
                        type: "post",
                        dataType: "json",
                        data:{
                            commentId:data.commentId,
                            isCheck:2
                        },
                        success:function (res) {
                            layer.close(index);
                            tableIns.reload()
                        }
                    })
                });
            }
        });
        table.on('checkbox(check)', function(obj){
            if(obj.type=='one'){
                if(obj.checked){
                    arr.push(obj.data.commentId)
                }else{
                    removeWithoutCopy(arr,obj.data.commentId)
                }
            }else{
                var datas = table.checkStatus('check').data;
                if(obj.checked){
                    for(var i=0,length=datas.length;i<length;i++){
                        arr.push(datas[i].commentId);
                    }
                } else {
                    datas = table.cache.check;
                    for(var i=0,length=datas.length;i<length;i++){
                        removeWithoutCopy(arr,datas[i].commentId);
                    }
                }
            }
            ids=arr.join()
        });
    });
    //批量批准
    $('.someYes').click(function () {
        ifOk(1,1)
    })
    //批量不批准
    $('.someNo').click(function () {
        ifOk(2,2)
    })
    //返回本讨论区
    $("button[name='thisforum']").click(function(){
        window.location.href="/bbs/theme?boardId="+boardId;
    });
    //返回讨论区列表
    $("button[name='forum']").click(function(){
        window.location.href="/bbs/index";
    });
    //批量的方法
    function ifOk(type,isCheck) {
        if(ids==undefined || ids==''){
            layer.msg('请至少选择一条数据！',{icon:0});
            return false
        }

        var checkStatus = table.checkStatus('check');
        var data=checkStatus.data;
        for (var i=0; i<data.length;i++){
            var isc=data[i].isCheck; //当前

            //只有待审批才可以通过
            if (isc==1 || isc==2){
                layer.msg("只有待审批的状态才可以相关操作");
                return false;
            }

            //判断选中的状态是否是同一状态
            var j=i+1;
            if (i==data.length-1){
                j=i;
            }
            //下一个元素
            var is=data[j].isCheck;
            //判断是否是相同元素状态
            if (isc!=is){
                layer.msg("请勾选相同状态的进行操作");
                return false;
            }
        }

        if(type==1){
            var title='确定批量批准吗？'
        }else{
            var  title='确定批量不批准吗？'
        }
        layer.confirm(title, function(index){
            $.ajax({
                url:'/bbs/updatebatch',
                type: "post",
                dataType: "json",
                data:{
                    ids:ids,
                    isCheck:isCheck
                },
                success:function (res) {
                    if(res.flag){
                        layer.msg('修改成功！',{icon:1, time: 2000}, function(){
                            tableIns.reload()
                            layer.close(index)
                        });
                        ids=''
                        arr=[]
                    }
                }
            })
        });
    }
    //移除数组 arr 中的所有值与 item 相等的元素，直接在给定的 arr 数组上进行操作，并将结果返回
    function removeWithoutCopy(arr, item) {
        var num = arr.length;
        for(var i = 0; i < num; i++){
            if(arr[i] == item ){
                arr.splice(i,1);
            }
        }
        return arr;
    }
</script>
</body>
</html>
